package main

import (
	"context"
	"fmt"

	"github.com/go-redis/redis/v8" // 假设你使用的是go-redis库
	// 用于读取配置文件
)

var Red *redis.Client

// 初始化redis
func InitRedis() {
	Red = redis.NewClient(&redis.Options{
		Addr:         "localhost:6379",
		Password:     "",
		DB:           3, // 注意直接使用 "redis.db" 而不是通过 viper.GetString 转换
		PoolSize:     30,
		MinIdleConns: 30,
	})

	fmt.Println("init redis:", Red)
}

func main1() {
	// 初始化配置和Redis
	// viper.SetConfigFile("./config/app.yaml") // 指定配置文件路径
	// if err := viper.ReadInConfig(); err != nil {
	// 	fmt.Println("Error reading config file", err)
	// 	return
	// }

	InitRedis()

	// 测试Redis连接
	ctx := context.Background()
	testKey := "testKey"
	testValue := "helloRedis"

	// 设置键值对
	err := Red.Set(ctx, testKey, testValue, 0).Err()
	if err != nil {
		fmt.Printf("Error setting key %s: %s\n", testKey, err)
		return
	}

	// 获取并打印键值
	val, err := Red.Get(ctx, testKey).Result()
	if err != nil {
		fmt.Printf("Error getting key %s: %s\n", testKey, err)
		return
	}

	fmt.Printf("Got value: %s\n", val)
}
